実装済み機能:
実装済み機能:
- パフォーマンス最適化のためのオブジェクトプールシステム。インタラクティブオブジェクト、弾丸、投擲武器などを含む。
- 基本射撃システム:
- 現在の弾数、マガジン内の弾数、予備弾
- リロード、リロード時間
- 発射レート、リロード時間
- 単発射撃、連射、一度に複数発射撃
- 弾のばらつき、射程距離
- 武器ごとに異なる:カメラ距離、構え方
- 武器の切り替えと収納。3つのスロット:太もも、背中、腰。すべてアニメーション設定済み
- 弾道と命中エフェクト、射程内の赤外線表示
- 2つの照準モード:精密射撃、自動ロックオン
- 設定データやプレハブのモデルタイプなどのデータを設定するだけで、異なる外観や性能を持つアイテム(武器、弾薬箱など)を生成し、自動的にモデルをマッチング可能
- アイテムのインタラクション:
- 拾う、捨てる
- 捨てられたアイテムを拾う際、データを保持し再生成しない
- インタラクション距離の判定:最も近いインタラクティブアイテムを検出しハイライト表示
- 敵:
- Enemy.csに基本機能を実装(被弾、命中エフェクトなど)
- ターゲットに向かって前進、障害物の角での経路処理、パトロール
- アニメーションイベントにより、プレイヤーへの攻撃・投擲、移動中の攻撃、武器モデルの切り替えなどを実現
- セカンダリ武器により、投擲アニメーション中のメイン武器の隠蔽に対応
- 敵の外見をランダムに設定:ランダムテクスチャ、ランダムな侵食エフェクト、ランダムな武器設定
- アニメーションコントローラーのオーバーライドにより、異なる特殊能力に対応した異なるアニメーションを実現
- IKにより、敵の異なる銃の構え方やアニメーションとの連携を実現
- 近接敵:
- Enemyを継承
- プレイヤーを追跡
- 回避可能、盾持ち、斧投げなど多様な特殊能力を設計
- 現在2種類の攻撃を実装:インデックス1はランダム5種の斬撃、インデックス0は移動攻撃でプレイヤーを二次追尾する
- 遠距離敵:
- Enemyを継承
- 異なる銃器、実装方法はプレイヤーと同様
- 手榴弾投擲
- 前進システム
- Boss:
- 異なるモデルでBossの威圧感を表現
- 2タイプ:火炎放射と大槌持ち。対応する特殊能力(火炎放射、雷槌)を実装済み
- 2つの近接攻撃モジュール
- Bossはジャンプしてプレイヤーを攻撃可能
- 状況に応じて高速ダッシュで距離を詰める
- カバーシステム。カバーの4方向にカバーポイントを生成。遠距離敵は範囲内のカバーを探し、一連のロジックにより賢く見えるように動作
- シンプルなHPシステム
- 味方へのダメージ設定の可否(プレイヤー陣営と敵陣営を含む)
- 異なる攻撃に対する判定を実装
- 盾持ち敵のシールドシステム
- ヘッドショットダメージ
- ラグドールシステム